// vue.config.js

/**
 * @type {import('@vue/cli-service').ProjectOptions}
 */
module.exports = {
    //打包好的vue项目,直接运行 页面白屏,如何处理
    publicPath: "./",
    // outputDir: "vue_shop",
    chainWebpack(config){//webpack配置项
        //打包入口配置
        //入口文件配置
        //config.when(判断环境条件, 配置)
        //发布模式
        config.when(process.env.NODE_ENV === 'production',config=>{
            //entry找到默认的打包入口，调用clear则是删除默认的打包入口
            //add添加新的打包入口
            config.entry('app').clear().add('./src/main-prod.js');
            //使用externals设置排除项
            config.set('externals',{
                vue:'Vue',
                'vue-router':'VueRouter',
                axios:'axios',
                echarts:'echarts',
                'vue-quill-editor':'VueQuillEditor'
            })
            //使用插件
            // <title><%= htmlWebpackPlugin.options.title %></title>
            //htmlWebpackPlugin==>config.plugin('html')
            config.plugin('html').tap(args=>{
                //htmlWebpackPlugin.options===>args[0]
                //添加参数isProd
                args[0].isProd = true
                return args
            })
        })
        //开发模式
        config.when(process.env.NODE_ENV === 'development',config=>{
            config.entry('app').clear().add('./src/main-dev.js')
            //使用插件
            config.plugin('html').tap(args=>{
                //添加参数isProd
                args[0].isProd = false
                return args
            })
        })
    },
}